/*
 * Decompiled with CFR 0.150.
 * 
 * Could not load the following classes:
 *  cn.hutool.core.collection.CollUtil
 *  cn.hutool.core.util.ObjectUtil
 *  com.alibaba.fastjson.JSON
 *  de.felixroske.jfxsupport.FXMLController
 *  javafx.beans.value.ChangeListener
 *  javafx.beans.value.ObservableValue
 *  javafx.collections.FXCollections
 *  javafx.collections.ObservableList
 *  javafx.event.EventHandler
 *  javafx.fxml.FXML
 *  javafx.fxml.Initializable
 *  javafx.scene.Node
 *  javafx.scene.control.Alert
 *  javafx.scene.control.Alert$AlertType
 *  javafx.scene.control.Button
 *  javafx.scene.control.ComboBox
 *  javafx.scene.control.TableCell
 *  javafx.scene.control.TableColumn
 *  javafx.scene.control.TableView
 *  javafx.scene.control.TextField
 *  javafx.scene.control.cell.PropertyValueFactory
 *  javafx.scene.input.KeyCode
 *  javafx.scene.input.KeyEvent
 *  javafx.scene.layout.AnchorPane
 *  javafx.scene.text.Text
 *  javafx.stage.Modality
 *  javafx.stage.Stage
 *  javafx.util.Callback
 *  javafx.util.StringConverter
 *  org.springframework.beans.BeanUtils
 *  org.springframework.beans.factory.annotation.Autowired
 */
package com.gys.controller.allot;

import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.gys.GysApplication;
import com.gys.common.business.AllotUtil;
import com.gys.common.data.HttpJson;
import com.gys.common.data.KeyValue;
import com.gys.common.util.CacheUtil;
import com.gys.common.util.CommonUtil;
import com.gys.common.util.SpringUtil;
import com.gys.controller.BaseController;
import com.gys.controller.allot.AllotController;
import com.gys.controller.clearBox.ClearProductQueryController;
import com.gys.controller.dataManger.ControllerManger;
import com.gys.controller.salesReceipts.TipTopController;
import com.gys.data.accept.ProductOutData;
import com.gys.data.allot.GetAllotDetailOutData;
import com.gys.data.allot.GetAllotInData;
import com.gys.data.allot.GetAllotOutData;
import com.gys.data.allot.GetAllotProductExportInData;
import com.gys.data.example.GetLoginStoreOutData;
import com.gys.data.replenish.StoreInData;
import com.gys.data.replenish.StoreOutData;
import com.gys.view.allot.AddView;
import com.gys.view.allot.ChooseProduct;
import de.felixroske.jfxsupport.FXMLController;
import java.io.File;
import java.lang.reflect.Method;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.ResourceBundle;
import java.util.Timer;
import java.util.TimerTask;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.Node;
import javafx.scene.control.Alert;
import javafx.scene.control.Button;
import javafx.scene.control.ComboBox;
import javafx.scene.control.TableCell;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyEvent;
import javafx.scene.layout.AnchorPane;
import javafx.scene.text.Text;
import javafx.stage.Modality;
import javafx.stage.Stage;
import javafx.util.Callback;
import javafx.util.StringConverter;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;

@FXMLController
public class AddAllotController
extends BaseController
implements Initializable {
    @FXML
    private TableView<GetAllotDetailOutData> tableView;
    @FXML
    private TableColumn<GetAllotDetailOutData, String> gsamdSerial;
    @FXML
    private TableColumn<GetAllotDetailOutData, String> gsamdProId;
    @FXML
    private TableColumn<GetAllotDetailOutData, String> proName;
    @FXML
    private TableColumn<GetAllotDetailOutData, String> proPrice;
    @FXML
    private TableColumn<GetAllotDetailOutData, String> gsamdBatchNo;
    @FXML
    private TableColumn<GetAllotDetailOutData, String> gsamdBatch;
    @FXML
    private TableColumn<GetAllotDetailOutData, String> gsamdValidDate;
    @FXML
    private TableColumn<GetAllotDetailOutData, String> gsamdStockQty;
    @FXML
    private TableColumn<GetAllotDetailOutData, String> gsamdRecipientQty;
    @FXML
    private TableColumn<GetAllotDetailOutData, String> gsamdStockStatus;
    @FXML
    private TableColumn<GetAllotDetailOutData, String> proFactoryName;
    @FXML
    private TableColumn<GetAllotDetailOutData, String> proPlace;
    @FXML
    private TableColumn<GetAllotDetailOutData, String> proForm;
    @FXML
    private TableColumn<GetAllotDetailOutData, String> proUnit;
    @FXML
    private TableColumn<GetAllotDetailOutData, String> proSpecs;
    @FXML
    private TableColumn<GetAllotDetailOutData, String> proRegisterNo;
    @FXML
    private ComboBox<KeyValue> fromStore;
    @FXML
    private TextField toStore;
    @FXML
    private TextField toStoreText;
    @FXML
    private TextField fromStoreText;
    @FXML
    private Button addBtn;
    @FXML
    private Button save;
    @FXML
    private Button print;
    @FXML
    private Button approve1;
    @FXML
    private Button approve2;
    @FXML
    private Button approve3;
    @FXML
    private Button exportIn;
    @FXML
    private Button exportOut;
    @FXML
    private AnchorPane pane;
    @Autowired
    private AllotController allotController;
    @Autowired
    private TipTopController tipTopController;
    @Autowired
    private ClearProductQueryController clearProductQueryController;
    private ObservableList<GetAllotDetailOutData> observableTableList = FXCollections.observableArrayList(new ArrayList());
    private ObservableList<KeyValue> storeOptions;
    private String status;
    private Timer timer = new Timer();

    public void initialize(URL location, ResourceBundle resources) {
        ControllerManger.controllerMap.put(this.getClass().getSimpleName(), this);
        this.init();
    }

    @Override
    public void init() {
        if (ObjectUtil.isEmpty(this.pane)) {
            return;
        }
        this.timer.schedule(new TimerTask(){

            @Override
            public void run() {
                AddView view = SpringUtil.getBean(AddView.class);
                Stage stage = (Stage)view.getView().getScene().getWindow();
                stage.getScene().setOnKeyReleased((EventHandler)new EventHandler<KeyEvent>(){

                    public void handle(KeyEvent event) {
                        if (event.getCode() == KeyCode.F9) {
                            AddAllotController.this.sureAction();
                            return;
                        }
                    }
                });
            }
        }, 1000L);
        StoreInData inDataStore = new StoreInData();
        inDataStore.setStoStatus("1");
        HttpJson httpJsonS = AllotUtil.getStoreList(inDataStore);
        List<StoreOutData> items = new ArrayList();
        if (!httpJsonS.isSuccess()) {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", httpJsonS.getMsg());
            alert.showAndWait();
            return;
        }
        items = JSON.parseArray((String)httpJsonS.getMsg(), StoreOutData.class);
        ArrayList<KeyValue> storeOptionList = new ArrayList<KeyValue>();
        for (StoreOutData item : items) {
            storeOptionList.add(new KeyValue(item.getStoName(), item.getStoCode()));
        }
        this.storeOptions = FXCollections.observableArrayList(storeOptionList);
        this.fromStore.setItems(this.storeOptions);
        this.comboxInit(this.fromStore);
        this.toStore.setText(((GetLoginStoreOutData)CacheUtil.get("store")).getStoName());
        this.toStoreText.setText(((GetLoginStoreOutData)CacheUtil.get("store")).getStoName());
        if (ObjectUtil.isNotEmpty(this.allotController.voucherId)) {
            this.tipTopController.initTitle("\u5ba1\u6838\u8c03\u5242\u8bb0\u5f55");
            GetAllotInData inData = new GetAllotInData();
            inData.setStoreCode(((GetLoginStoreOutData)CacheUtil.get("store")).getStoCode());
            inData.setGsamhVoucherId(this.allotController.voucherId);
            HttpJson httpJson = AllotUtil.detail(inData);
            GetAllotOutData data = new GetAllotOutData();
            if (httpJson.isSuccess()) {
                data = (GetAllotOutData)JSON.parseObject((String)httpJson.getMsg(), GetAllotOutData.class);
                this.observableTableList = FXCollections.observableArrayList(data.getAllotDetailOutDataList());
                this.initTable();
                this.fromStore.setValue(new KeyValue(data.getGsamhFrom(), data.getGsamhFromId()));
                this.fromStoreText.setText(data.getGsamhFrom());
                this.status = data.getGsamhStatus();
                if ("1".equals(data.getGsamhStatus())) {
                    if (data.getGsamhTo().equals(((GetLoginStoreOutData)CacheUtil.get("store")).getStoName())) {
                        this.approve1.setDisable(false);
                    } else {
                        this.approve1.setDisable(true);
                    }
                    this.approve2.setDisable(true);
                    this.approve3.setDisable(true);
                    this.fromStore.setDisable(true);
                    this.print.setDisable(true);
                    this.addBtn.setVisible(false);
                    this.save.setVisible(true);
                    this.exportIn.setVisible(false);
                    this.exportOut.setVisible(false);
                    this.changeToTextFieldDEdit(this.gsamdRecipientQty);
                }
                if ("2".equals(data.getGsamhStatus())) {
                    this.approve1.setDisable(true);
                    if (data.getGsamhFrom().equals(((GetLoginStoreOutData)CacheUtil.get("store")).getStoName())) {
                        this.approve2.setDisable(false);
                        this.print.setDisable(false);
                    } else {
                        this.approve2.setDisable(true);
                        this.print.setDisable(true);
                    }
                    this.approve3.setDisable(true);
                    this.fromStore.setDisable(true);
                    this.addBtn.setVisible(false);
                    this.save.setVisible(false);
                    this.exportIn.setVisible(false);
                    this.exportOut.setVisible(false);
                    this.clearEdit(this.gsamdRecipientQty);
                }
                if ("3".equals(data.getGsamhStatus())) {
                    this.approve1.setDisable(true);
                    this.approve2.setDisable(true);
                    this.approve3.setDisable(false);
                    this.fromStore.setDisable(true);
                    this.print.setDisable(true);
                    this.addBtn.setVisible(false);
                    this.save.setVisible(false);
                    this.exportIn.setVisible(false);
                    this.exportOut.setVisible(false);
                    this.clearEdit(this.gsamdRecipientQty);
                }
            } else {
                Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", httpJson.getMsg());
                alert.showAndWait();
            }
        } else {
            this.tipTopController.initTitle("\u65b0\u589e\u8c03\u5242\u8bb0\u5f55");
            this.fromStore.setValue(new KeyValue());
            this.fromStoreText.setText("");
            this.observableTableList.clear();
            this.approve1.setDisable(true);
            this.approve2.setDisable(true);
            this.approve3.setDisable(true);
            this.fromStore.setDisable(false);
            this.print.setDisable(true);
            this.addBtn.setVisible(true);
            this.save.setVisible(true);
            this.exportIn.setVisible(true);
            this.exportOut.setVisible(true);
            this.status = "0";
            this.changeToTextFieldDEdit(this.gsamdRecipientQty);
        }
    }

    public void comboxInit(ComboBox box) {
        box.converterProperty().set(new StringConverter<KeyValue>(){

            public String toString(KeyValue object) {
                return object.getName();
            }

            public KeyValue fromString(String string) {
                return null;
            }
        });
    }

    public TableView<GetAllotDetailOutData> initTable() {
        this.bingDetailTableCell();
        this.tableView.setItems(this.observableTableList);
        return this.tableView;
    }

    @FXML
    private void choose() {
        GysApplication.showView(ChooseProduct.class, (Modality)Modality.APPLICATION_MODAL);
    }

    @FXML
    private void exportOut() {
        CommonUtil.exportModelFile("\u8c03\u5242\u5546\u54c1\u5bfc\u5165\u6a21\u677f", "/modelFile/allotProductModelFile.xls");
    }

    @FXML
    private void exportIn() throws Exception {
        File file = CommonUtil.fileChooser();
        if (ObjectUtil.isEmpty(file)) {
            return;
        }
        Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", null);
        List<GetAllotProductExportInData> importExcelInData = CommonUtil.importExcel(file, 0, GetAllotProductExportInData.class);
        if (CollUtil.isEmpty(importExcelInData)) {
            alert.setContentText("\u6ca1\u6709\u6709\u6548\u6570\u636e");
            alert.showAndWait();
            return;
        }
        GetAllotInData inData = new GetAllotInData();
        inData.setStoreCode(((GetLoginStoreOutData)CacheUtil.get("store")).getStoCode());
        ArrayList<GetAllotDetailOutData> dataList = new ArrayList<GetAllotDetailOutData>();
        for (GetAllotProductExportInData importData : importExcelInData) {
            GetAllotDetailOutData detailInData = new GetAllotDetailOutData();
            BeanUtils.copyProperties(importData, detailInData);
            dataList.add(detailInData);
        }
        inData.setAllotDetailInDataList(dataList);
        HttpJson rsp = AllotUtil.exportIn(inData);
        if (rsp.isSuccess()) {
            List<ProductOutData> list = JSON.parseArray((String)rsp.getMsg(), ProductOutData.class);
            for (ProductOutData product : list) {
                GetAllotDetailOutData data = new GetAllotDetailOutData();
                int index = this.observableTableList.size();
                data.setGsamdSerial(String.valueOf(index + 1));
                data.setGsamdProId(product.getProCode());
                data.setProFactoryName(product.getProFactoryName());
                data.setProForm(product.getProForm());
                data.setProName(product.getGspgProName());
                data.setProPlace(product.getProPlace());
                data.setProRegisterNo(product.getProRegisterNo());
                data.setProSpecs(product.getGspgSpecs());
                data.setProUnit(product.getProUnit());
                data.setProPrice(product.getProPrice());
                data.setGsamdValidDate(product.getValidDate());
                data.setGsamdBatch(product.getBatch());
                data.setGsamdBatchNo(product.getBatchNo());
                data.setGsamdStockQty(product.getStockQty());
                data.setGsamdRecipientQty(product.getAllotQty());
                this.observableTableList.add(data);
                this.changeToTextFieldDEdit(this.gsamdRecipientQty);
                this.initTable();
            }
        } else {
            alert.setContentText(rsp.getMsg());
            alert.showAndWait();
        }
    }

    @FXML
    public TableView<GetAllotDetailOutData> addProduct(ProductOutData product) {
        GetAllotDetailOutData data = new GetAllotDetailOutData();
        int index = this.observableTableList.size();
        data.setGsamdSerial(String.valueOf(index + 1));
        data.setGsamdProId(product.getProCode());
        data.setProFactoryName(product.getProFactoryName());
        data.setProForm(product.getProForm());
        data.setProName(product.getGspgProName());
        data.setProPlace(product.getProPlace());
        data.setProRegisterNo(product.getProRegisterNo());
        data.setProSpecs(product.getGspgSpecs());
        data.setProUnit(product.getProUnit());
        data.setProPrice(product.getProPrice());
        data.setGsamdValidDate(product.getValidDate());
        data.setGsamdBatch(product.getBatch());
        data.setGsamdBatchNo(product.getBatchNo());
        data.setGsamdStockQty(product.getStockQty());
        this.observableTableList.add(data);
        this.bingDetailTableCell();
        this.changeToTextFieldDEdit(this.gsamdRecipientQty);
        this.tableView.setItems(this.observableTableList);
        return this.tableView;
    }

    @FXML
    private void sureAction() {
        String from = ((KeyValue)this.fromStore.getValue()).getValue();
        if (ObjectUtil.isEmpty(from)) {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", "\u8bf7\u9009\u62e9\u53d1\u8d27\u95e8\u5e97");
            alert.showAndWait();
            return;
        }
        if (this.observableTableList.size() == 0) {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", "\u8bf7\u6dfb\u52a0\u5546\u54c1");
            alert.showAndWait();
            return;
        }
        for (int i = 0; i < this.observableTableList.size(); ++i) {
            if (!ObjectUtil.isEmpty(((GetAllotDetailOutData)this.observableTableList.get(i)).getGsamdRecipientQty())) continue;
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", "\u8c03\u5242\u6570\u91cf\u8bf7\u586b\u5199\u5b8c\u6574");
            alert.showAndWait();
            return;
        }
        if ("1".equals(this.status)) {
            GetAllotInData inData = new GetAllotInData();
            inData.setGsamhTo(((GetLoginStoreOutData)CacheUtil.get("store")).getStoCode());
            inData.setGsamhFrom(from);
            inData.setAllotDetailInDataList((List<GetAllotDetailOutData>)this.observableTableList);
            HttpJson httpJson = AllotUtil.update(inData);
            if (httpJson.isSuccess()) {
                Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", "\u4fdd\u5b58\u6210\u529f");
                alert.showAndWait();
                this.cancelAction();
                this.allotController.initTable(0);
            } else {
                Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", httpJson.getMsg());
                alert.showAndWait();
            }
        } else {
            GetAllotInData inData = new GetAllotInData();
            inData.setGsamhTo(((GetLoginStoreOutData)CacheUtil.get("store")).getStoCode());
            inData.setGsamhFrom(from);
            inData.setAllotDetailInDataList((List<GetAllotDetailOutData>)this.observableTableList);
            HttpJson httpJson = AllotUtil.insert(inData);
            if (httpJson.isSuccess()) {
                Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", "\u4fdd\u5b58\u6210\u529f");
                alert.showAndWait();
                this.cancelAction();
                this.allotController.initTable(0);
            } else {
                Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", httpJson.getMsg());
                alert.showAndWait();
            }
        }
    }

    @FXML
    private void approve() {
        HttpJson httpJson;
        GetAllotInData inData = new GetAllotInData();
        inData.setGsamhVoucherId(this.allotController.voucherId);
        if ("1".equals(this.status)) {
            inData.setGsamhStatus("2");
        }
        if ("2".equals(this.status)) {
            inData.setGsamhStatus("3");
        }
        if ("3".equals(this.status)) {
            inData.setGsamhStatus("4");
        }
        if ((httpJson = AllotUtil.approve(inData)).isSuccess()) {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", "\u5ba1\u6838\u6210\u529f!");
            alert.showAndWait();
            this.cancelAction();
            this.allotController.initTable(0);
        } else {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", httpJson.getMsg());
            alert.showAndWait();
        }
    }

    private void bingDetailTableCell() {
        this.gsamdSerial.setCellValueFactory((Callback)new PropertyValueFactory(this.gsamdSerial.getId()));
        this.gsamdProId.setCellValueFactory((Callback)new PropertyValueFactory(this.gsamdProId.getId()));
        this.proName.setCellValueFactory((Callback)new PropertyValueFactory(this.proName.getId()));
        this.proPrice.setCellValueFactory((Callback)new PropertyValueFactory(this.proPrice.getId()));
        this.gsamdBatchNo.setCellValueFactory((Callback)new PropertyValueFactory(this.gsamdBatchNo.getId()));
        this.gsamdBatch.setCellValueFactory((Callback)new PropertyValueFactory(this.gsamdBatch.getId()));
        this.gsamdValidDate.setCellValueFactory((Callback)new PropertyValueFactory(this.gsamdValidDate.getId()));
        this.gsamdStockQty.setCellValueFactory((Callback)new PropertyValueFactory(this.gsamdStockQty.getId()));
        this.gsamdRecipientQty.setCellValueFactory((Callback)new PropertyValueFactory(this.gsamdRecipientQty.getId()));
        this.proFactoryName.setCellValueFactory((Callback)new PropertyValueFactory(this.proFactoryName.getId()));
        this.proPlace.setCellValueFactory((Callback)new PropertyValueFactory(this.proPlace.getId()));
        this.proForm.setCellValueFactory((Callback)new PropertyValueFactory(this.proForm.getId()));
        this.proUnit.setCellValueFactory((Callback)new PropertyValueFactory(this.proUnit.getId()));
        this.proSpecs.setCellValueFactory((Callback)new PropertyValueFactory(this.proSpecs.getId()));
        this.proRegisterNo.setCellValueFactory((Callback)new PropertyValueFactory(this.proRegisterNo.getId()));
        this.gsamdStockStatus.setCellValueFactory((Callback)new PropertyValueFactory(this.gsamdStockStatus.getId()));
    }

    @FXML
    private void cancelAction() {
        this.observableTableList.clear();
        this.pane.getScene().getWindow().hide();
    }

    public void clearEdit(TableColumn<GetAllotDetailOutData, String> column) {
        column.setCellFactory(tc -> {
            TableCell<GetAllotDetailOutData, String> cell = new TableCell<GetAllotDetailOutData, String>(){

                protected void updateItem(String chuzhi, boolean empty) {
                    super.updateItem(chuzhi, empty);
                    if (empty) {
                        this.setGraphic(null);
                    } else {
                        Text text = new Text();
                        text.setText(chuzhi);
                        this.setGraphic((Node)text);
                    }
                }
            };
            return cell;
        });
    }

    public void changeToTextFieldDEdit(TableColumn<GetAllotDetailOutData, String> column) {
        column.setCellFactory(tc -> {
            final TextField textField = new TextField();
            textField.setMinHeight(30.0);
            TableCell<GetAllotDetailOutData, String> cell = new TableCell<GetAllotDetailOutData, String>(){

                protected void updateItem(String chuzhi, boolean empty) {
                    super.updateItem(chuzhi, empty);
                    if (empty) {
                        this.setGraphic(null);
                    } else {
                        textField.setText(chuzhi);
                        this.setGraphic((Node)textField);
                    }
                }
            };
            textField.textProperty().addListener(new ChangeListener(){
                final TableCell val_cell;
                final TextField val_textField;
                {
                    this.val_cell = cell;
                    this.val_textField = textField;
                }

                public void changed(ObservableValue observable, Object oldValue, Object newValue) {
                    int rank = this.val_cell.getIndex();
                    String cloumName = this.val_cell.getId();
                    String value = this.val_textField.getText();
                    GetAllotDetailOutData outData = (GetAllotDetailOutData)AddAllotController.this.observableTableList.get(rank);
                    String methodName = CommonUtil.getSetMethod(cloumName);
                    try {
                        Method method = GetAllotDetailOutData.class.getMethod(methodName, String.class);
                        method.invoke(outData, value);
                    }
                    catch (Exception ex) {
                        throw new RuntimeException("\u6ca1\u6709\u65b9\u6cd5" + methodName);
                    }
                }
            });
            return cell;
        });
    }

    public TableView<GetAllotDetailOutData> getTableView() {
        return this.tableView;
    }

    public TableColumn<GetAllotDetailOutData, String> getGsamdSerial() {
        return this.gsamdSerial;
    }

    public TableColumn<GetAllotDetailOutData, String> getGsamdProId() {
        return this.gsamdProId;
    }

    public TableColumn<GetAllotDetailOutData, String> getProName() {
        return this.proName;
    }

    public TableColumn<GetAllotDetailOutData, String> getProPrice() {
        return this.proPrice;
    }

    public TableColumn<GetAllotDetailOutData, String> getGsamdBatchNo() {
        return this.gsamdBatchNo;
    }

    public TableColumn<GetAllotDetailOutData, String> getGsamdBatch() {
        return this.gsamdBatch;
    }

    public TableColumn<GetAllotDetailOutData, String> getGsamdValidDate() {
        return this.gsamdValidDate;
    }

    public TableColumn<GetAllotDetailOutData, String> getGsamdStockQty() {
        return this.gsamdStockQty;
    }

    public TableColumn<GetAllotDetailOutData, String> getGsamdRecipientQty() {
        return this.gsamdRecipientQty;
    }

    public TableColumn<GetAllotDetailOutData, String> getGsamdStockStatus() {
        return this.gsamdStockStatus;
    }

    public TableColumn<GetAllotDetailOutData, String> getProFactoryName() {
        return this.proFactoryName;
    }

    public TableColumn<GetAllotDetailOutData, String> getProPlace() {
        return this.proPlace;
    }

    public TableColumn<GetAllotDetailOutData, String> getProForm() {
        return this.proForm;
    }

    public TableColumn<GetAllotDetailOutData, String> getProUnit() {
        return this.proUnit;
    }

    public TableColumn<GetAllotDetailOutData, String> getProSpecs() {
        return this.proSpecs;
    }

    public TableColumn<GetAllotDetailOutData, String> getProRegisterNo() {
        return this.proRegisterNo;
    }

    public ComboBox<KeyValue> getFromStore() {
        return this.fromStore;
    }

    public TextField getToStore() {
        return this.toStore;
    }

    public TextField getToStoreText() {
        return this.toStoreText;
    }

    public TextField getFromStoreText() {
        return this.fromStoreText;
    }

    public Button getAddBtn() {
        return this.addBtn;
    }

    public Button getSave() {
        return this.save;
    }

    public Button getPrint() {
        return this.print;
    }

    public Button getApprove1() {
        return this.approve1;
    }

    public Button getApprove2() {
        return this.approve2;
    }

    public Button getApprove3() {
        return this.approve3;
    }

    public Button getExportIn() {
        return this.exportIn;
    }

    public Button getExportOut() {
        return this.exportOut;
    }

    public AnchorPane getPane() {
        return this.pane;
    }

    public AllotController getAllotController() {
        return this.allotController;
    }

    public TipTopController getTipTopController() {
        return this.tipTopController;
    }

    public ClearProductQueryController getClearProductQueryController() {
        return this.clearProductQueryController;
    }

    public ObservableList<GetAllotDetailOutData> getObservableTableList() {
        return this.observableTableList;
    }

    public ObservableList<KeyValue> getStoreOptions() {
        return this.storeOptions;
    }

    public String getStatus() {
        return this.status;
    }

    public Timer getTimer() {
        return this.timer;
    }

    public void setTableView(TableView<GetAllotDetailOutData> tableView) {
        this.tableView = tableView;
    }

    public void setGsamdSerial(TableColumn<GetAllotDetailOutData, String> gsamdSerial) {
        this.gsamdSerial = gsamdSerial;
    }

    public void setGsamdProId(TableColumn<GetAllotDetailOutData, String> gsamdProId) {
        this.gsamdProId = gsamdProId;
    }

    public void setProName(TableColumn<GetAllotDetailOutData, String> proName) {
        this.proName = proName;
    }

    public void setProPrice(TableColumn<GetAllotDetailOutData, String> proPrice) {
        this.proPrice = proPrice;
    }

    public void setGsamdBatchNo(TableColumn<GetAllotDetailOutData, String> gsamdBatchNo) {
        this.gsamdBatchNo = gsamdBatchNo;
    }

    public void setGsamdBatch(TableColumn<GetAllotDetailOutData, String> gsamdBatch) {
        this.gsamdBatch = gsamdBatch;
    }

    public void setGsamdValidDate(TableColumn<GetAllotDetailOutData, String> gsamdValidDate) {
        this.gsamdValidDate = gsamdValidDate;
    }

    public void setGsamdStockQty(TableColumn<GetAllotDetailOutData, String> gsamdStockQty) {
        this.gsamdStockQty = gsamdStockQty;
    }

    public void setGsamdRecipientQty(TableColumn<GetAllotDetailOutData, String> gsamdRecipientQty) {
        this.gsamdRecipientQty = gsamdRecipientQty;
    }

    public void setGsamdStockStatus(TableColumn<GetAllotDetailOutData, String> gsamdStockStatus) {
        this.gsamdStockStatus = gsamdStockStatus;
    }

    public void setProFactoryName(TableColumn<GetAllotDetailOutData, String> proFactoryName) {
        this.proFactoryName = proFactoryName;
    }

    public void setProPlace(TableColumn<GetAllotDetailOutData, String> proPlace) {
        this.proPlace = proPlace;
    }

    public void setProForm(TableColumn<GetAllotDetailOutData, String> proForm) {
        this.proForm = proForm;
    }

    public void setProUnit(TableColumn<GetAllotDetailOutData, String> proUnit) {
        this.proUnit = proUnit;
    }

    public void setProSpecs(TableColumn<GetAllotDetailOutData, String> proSpecs) {
        this.proSpecs = proSpecs;
    }

    public void setProRegisterNo(TableColumn<GetAllotDetailOutData, String> proRegisterNo) {
        this.proRegisterNo = proRegisterNo;
    }

    public void setFromStore(ComboBox<KeyValue> fromStore) {
        this.fromStore = fromStore;
    }

    public void setToStore(TextField toStore) {
        this.toStore = toStore;
    }

    public void setToStoreText(TextField toStoreText) {
        this.toStoreText = toStoreText;
    }

    public void setFromStoreText(TextField fromStoreText) {
        this.fromStoreText = fromStoreText;
    }

    public void setAddBtn(Button addBtn) {
        this.addBtn = addBtn;
    }

    public void setSave(Button save) {
        this.save = save;
    }

    public void setPrint(Button print) {
        this.print = print;
    }

    public void setApprove1(Button approve1) {
        this.approve1 = approve1;
    }

    public void setApprove2(Button approve2) {
        this.approve2 = approve2;
    }

    public void setApprove3(Button approve3) {
        this.approve3 = approve3;
    }

    public void setExportIn(Button exportIn) {
        this.exportIn = exportIn;
    }

    public void setExportOut(Button exportOut) {
        this.exportOut = exportOut;
    }

    public void setPane(AnchorPane pane) {
        this.pane = pane;
    }

    public void setAllotController(AllotController allotController) {
        this.allotController = allotController;
    }

    public void setTipTopController(TipTopController tipTopController) {
        this.tipTopController = tipTopController;
    }

    public void setClearProductQueryController(ClearProductQueryController clearProductQueryController) {
        this.clearProductQueryController = clearProductQueryController;
    }

    public void setObservableTableList(ObservableList<GetAllotDetailOutData> observableTableList) {
        this.observableTableList = observableTableList;
    }

    public void setStoreOptions(ObservableList<KeyValue> storeOptions) {
        this.storeOptions = storeOptions;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public void setTimer(Timer timer) {
        this.timer = timer;
    }

    public boolean equals(Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof AddAllotController)) {
            return false;
        }
        AddAllotController other = (AddAllotController)o;
        if (!other.canEqual(this)) {
            return false;
        }
        TableView<GetAllotDetailOutData> this$tableView = this.getTableView();
        TableView<GetAllotDetailOutData> other$tableView = other.getTableView();
        if (this$tableView == null ? other$tableView != null : !this$tableView.equals(other$tableView)) {
            return false;
        }
        TableColumn<GetAllotDetailOutData, String> this$gsamdSerial = this.getGsamdSerial();
        TableColumn<GetAllotDetailOutData, String> other$gsamdSerial = other.getGsamdSerial();
        if (this$gsamdSerial == null ? other$gsamdSerial != null : !this$gsamdSerial.equals(other$gsamdSerial)) {
            return false;
        }
        TableColumn<GetAllotDetailOutData, String> this$gsamdProId = this.getGsamdProId();
        TableColumn<GetAllotDetailOutData, String> other$gsamdProId = other.getGsamdProId();
        if (this$gsamdProId == null ? other$gsamdProId != null : !this$gsamdProId.equals(other$gsamdProId)) {
            return false;
        }
        TableColumn<GetAllotDetailOutData, String> this$proName = this.getProName();
        TableColumn<GetAllotDetailOutData, String> other$proName = other.getProName();
        if (this$proName == null ? other$proName != null : !this$proName.equals(other$proName)) {
            return false;
        }
        TableColumn<GetAllotDetailOutData, String> this$proPrice = this.getProPrice();
        TableColumn<GetAllotDetailOutData, String> other$proPrice = other.getProPrice();
        if (this$proPrice == null ? other$proPrice != null : !this$proPrice.equals(other$proPrice)) {
            return false;
        }
        TableColumn<GetAllotDetailOutData, String> this$gsamdBatchNo = this.getGsamdBatchNo();
        TableColumn<GetAllotDetailOutData, String> other$gsamdBatchNo = other.getGsamdBatchNo();
        if (this$gsamdBatchNo == null ? other$gsamdBatchNo != null : !this$gsamdBatchNo.equals(other$gsamdBatchNo)) {
            return false;
        }
        TableColumn<GetAllotDetailOutData, String> this$gsamdBatch = this.getGsamdBatch();
        TableColumn<GetAllotDetailOutData, String> other$gsamdBatch = other.getGsamdBatch();
        if (this$gsamdBatch == null ? other$gsamdBatch != null : !this$gsamdBatch.equals(other$gsamdBatch)) {
            return false;
        }
        TableColumn<GetAllotDetailOutData, String> this$gsamdValidDate = this.getGsamdValidDate();
        TableColumn<GetAllotDetailOutData, String> other$gsamdValidDate = other.getGsamdValidDate();
        if (this$gsamdValidDate == null ? other$gsamdValidDate != null : !this$gsamdValidDate.equals(other$gsamdValidDate)) {
            return false;
        }
        TableColumn<GetAllotDetailOutData, String> this$gsamdStockQty = this.getGsamdStockQty();
        TableColumn<GetAllotDetailOutData, String> other$gsamdStockQty = other.getGsamdStockQty();
        if (this$gsamdStockQty == null ? other$gsamdStockQty != null : !this$gsamdStockQty.equals(other$gsamdStockQty)) {
            return false;
        }
        TableColumn<GetAllotDetailOutData, String> this$gsamdRecipientQty = this.getGsamdRecipientQty();
        TableColumn<GetAllotDetailOutData, String> other$gsamdRecipientQty = other.getGsamdRecipientQty();
        if (this$gsamdRecipientQty == null ? other$gsamdRecipientQty != null : !this$gsamdRecipientQty.equals(other$gsamdRecipientQty)) {
            return false;
        }
        TableColumn<GetAllotDetailOutData, String> this$gsamdStockStatus = this.getGsamdStockStatus();
        TableColumn<GetAllotDetailOutData, String> other$gsamdStockStatus = other.getGsamdStockStatus();
        if (this$gsamdStockStatus == null ? other$gsamdStockStatus != null : !this$gsamdStockStatus.equals(other$gsamdStockStatus)) {
            return false;
        }
        TableColumn<GetAllotDetailOutData, String> this$proFactoryName = this.getProFactoryName();
        TableColumn<GetAllotDetailOutData, String> other$proFactoryName = other.getProFactoryName();
        if (this$proFactoryName == null ? other$proFactoryName != null : !this$proFactoryName.equals(other$proFactoryName)) {
            return false;
        }
        TableColumn<GetAllotDetailOutData, String> this$proPlace = this.getProPlace();
        TableColumn<GetAllotDetailOutData, String> other$proPlace = other.getProPlace();
        if (this$proPlace == null ? other$proPlace != null : !this$proPlace.equals(other$proPlace)) {
            return false;
        }
        TableColumn<GetAllotDetailOutData, String> this$proForm = this.getProForm();
        TableColumn<GetAllotDetailOutData, String> other$proForm = other.getProForm();
        if (this$proForm == null ? other$proForm != null : !this$proForm.equals(other$proForm)) {
            return false;
        }
        TableColumn<GetAllotDetailOutData, String> this$proUnit = this.getProUnit();
        TableColumn<GetAllotDetailOutData, String> other$proUnit = other.getProUnit();
        if (this$proUnit == null ? other$proUnit != null : !this$proUnit.equals(other$proUnit)) {
            return false;
        }
        TableColumn<GetAllotDetailOutData, String> this$proSpecs = this.getProSpecs();
        TableColumn<GetAllotDetailOutData, String> other$proSpecs = other.getProSpecs();
        if (this$proSpecs == null ? other$proSpecs != null : !this$proSpecs.equals(other$proSpecs)) {
            return false;
        }
        TableColumn<GetAllotDetailOutData, String> this$proRegisterNo = this.getProRegisterNo();
        TableColumn<GetAllotDetailOutData, String> other$proRegisterNo = other.getProRegisterNo();
        if (this$proRegisterNo == null ? other$proRegisterNo != null : !this$proRegisterNo.equals(other$proRegisterNo)) {
            return false;
        }
        ComboBox<KeyValue> this$fromStore = this.getFromStore();
        ComboBox<KeyValue> other$fromStore = other.getFromStore();
        if (this$fromStore == null ? other$fromStore != null : !this$fromStore.equals(other$fromStore)) {
            return false;
        }
        TextField this$toStore = this.getToStore();
        TextField other$toStore = other.getToStore();
        if (this$toStore == null ? other$toStore != null : !this$toStore.equals(other$toStore)) {
            return false;
        }
        TextField this$toStoreText = this.getToStoreText();
        TextField other$toStoreText = other.getToStoreText();
        if (this$toStoreText == null ? other$toStoreText != null : !this$toStoreText.equals(other$toStoreText)) {
            return false;
        }
        TextField this$fromStoreText = this.getFromStoreText();
        TextField other$fromStoreText = other.getFromStoreText();
        if (this$fromStoreText == null ? other$fromStoreText != null : !this$fromStoreText.equals(other$fromStoreText)) {
            return false;
        }
        Button this$addBtn = this.getAddBtn();
        Button other$addBtn = other.getAddBtn();
        if (this$addBtn == null ? other$addBtn != null : !this$addBtn.equals(other$addBtn)) {
            return false;
        }
        Button this$save = this.getSave();
        Button other$save = other.getSave();
        if (this$save == null ? other$save != null : !this$save.equals(other$save)) {
            return false;
        }
        Button this$print = this.getPrint();
        Button other$print = other.getPrint();
        if (this$print == null ? other$print != null : !this$print.equals(other$print)) {
            return false;
        }
        Button this$approve1 = this.getApprove1();
        Button other$approve1 = other.getApprove1();
        if (this$approve1 == null ? other$approve1 != null : !this$approve1.equals(other$approve1)) {
            return false;
        }
        Button this$approve2 = this.getApprove2();
        Button other$approve2 = other.getApprove2();
        if (this$approve2 == null ? other$approve2 != null : !this$approve2.equals(other$approve2)) {
            return false;
        }
        Button this$approve3 = this.getApprove3();
        Button other$approve3 = other.getApprove3();
        if (this$approve3 == null ? other$approve3 != null : !this$approve3.equals(other$approve3)) {
            return false;
        }
        Button this$exportIn = this.getExportIn();
        Button other$exportIn = other.getExportIn();
        if (this$exportIn == null ? other$exportIn != null : !this$exportIn.equals(other$exportIn)) {
            return false;
        }
        Button this$exportOut = this.getExportOut();
        Button other$exportOut = other.getExportOut();
        if (this$exportOut == null ? other$exportOut != null : !this$exportOut.equals(other$exportOut)) {
            return false;
        }
        AnchorPane this$pane = this.getPane();
        AnchorPane other$pane = other.getPane();
        if (this$pane == null ? other$pane != null : !this$pane.equals(other$pane)) {
            return false;
        }
        AllotController this$allotController = this.getAllotController();
        AllotController other$allotController = other.getAllotController();
        if (this$allotController == null ? other$allotController != null : !(this$allotController).equals(other$allotController)) {
            return false;
        }
        TipTopController this$tipTopController = this.getTipTopController();
        TipTopController other$tipTopController = other.getTipTopController();
        if (this$tipTopController == null ? other$tipTopController != null : !(this$tipTopController).equals(other$tipTopController)) {
            return false;
        }
        ClearProductQueryController this$clearProductQueryController = this.getClearProductQueryController();
        ClearProductQueryController other$clearProductQueryController = other.getClearProductQueryController();
        if (this$clearProductQueryController == null ? other$clearProductQueryController != null : !(this$clearProductQueryController).equals(other$clearProductQueryController)) {
            return false;
        }
        ObservableList<GetAllotDetailOutData> this$observableTableList = this.getObservableTableList();
        ObservableList<GetAllotDetailOutData> other$observableTableList = other.getObservableTableList();
        if (this$observableTableList == null ? other$observableTableList != null : !this$observableTableList.equals(other$observableTableList)) {
            return false;
        }
        ObservableList<KeyValue> this$storeOptions = this.getStoreOptions();
        ObservableList<KeyValue> other$storeOptions = other.getStoreOptions();
        if (this$storeOptions == null ? other$storeOptions != null : !this$storeOptions.equals(other$storeOptions)) {
            return false;
        }
        String this$status = this.getStatus();
        String other$status = other.getStatus();
        if (this$status == null ? other$status != null : !this$status.equals(other$status)) {
            return false;
        }
        Timer this$timer = this.getTimer();
        Timer other$timer = other.getTimer();
        return !(this$timer == null ? other$timer != null : !this$timer.equals(other$timer));
    }

    protected boolean canEqual(Object other) {
        return other instanceof AddAllotController;
    }

    public int hashCode() {
        int PRIME = 59;
        int result = 1;
        TableView<GetAllotDetailOutData> $tableView = this.getTableView();
        result = result * 59 + ($tableView == null ? 43 : $tableView.hashCode());
        TableColumn<GetAllotDetailOutData, String> $gsamdSerial = this.getGsamdSerial();
        result = result * 59 + ($gsamdSerial == null ? 43 : $gsamdSerial.hashCode());
        TableColumn<GetAllotDetailOutData, String> $gsamdProId = this.getGsamdProId();
        result = result * 59 + ($gsamdProId == null ? 43 : $gsamdProId.hashCode());
        TableColumn<GetAllotDetailOutData, String> $proName = this.getProName();
        result = result * 59 + ($proName == null ? 43 : $proName.hashCode());
        TableColumn<GetAllotDetailOutData, String> $proPrice = this.getProPrice();
        result = result * 59 + ($proPrice == null ? 43 : $proPrice.hashCode());
        TableColumn<GetAllotDetailOutData, String> $gsamdBatchNo = this.getGsamdBatchNo();
        result = result * 59 + ($gsamdBatchNo == null ? 43 : $gsamdBatchNo.hashCode());
        TableColumn<GetAllotDetailOutData, String> $gsamdBatch = this.getGsamdBatch();
        result = result * 59 + ($gsamdBatch == null ? 43 : $gsamdBatch.hashCode());
        TableColumn<GetAllotDetailOutData, String> $gsamdValidDate = this.getGsamdValidDate();
        result = result * 59 + ($gsamdValidDate == null ? 43 : $gsamdValidDate.hashCode());
        TableColumn<GetAllotDetailOutData, String> $gsamdStockQty = this.getGsamdStockQty();
        result = result * 59 + ($gsamdStockQty == null ? 43 : $gsamdStockQty.hashCode());
        TableColumn<GetAllotDetailOutData, String> $gsamdRecipientQty = this.getGsamdRecipientQty();
        result = result * 59 + ($gsamdRecipientQty == null ? 43 : $gsamdRecipientQty.hashCode());
        TableColumn<GetAllotDetailOutData, String> $gsamdStockStatus = this.getGsamdStockStatus();
        result = result * 59 + ($gsamdStockStatus == null ? 43 : $gsamdStockStatus.hashCode());
        TableColumn<GetAllotDetailOutData, String> $proFactoryName = this.getProFactoryName();
        result = result * 59 + ($proFactoryName == null ? 43 : $proFactoryName.hashCode());
        TableColumn<GetAllotDetailOutData, String> $proPlace = this.getProPlace();
        result = result * 59 + ($proPlace == null ? 43 : $proPlace.hashCode());
        TableColumn<GetAllotDetailOutData, String> $proForm = this.getProForm();
        result = result * 59 + ($proForm == null ? 43 : $proForm.hashCode());
        TableColumn<GetAllotDetailOutData, String> $proUnit = this.getProUnit();
        result = result * 59 + ($proUnit == null ? 43 : $proUnit.hashCode());
        TableColumn<GetAllotDetailOutData, String> $proSpecs = this.getProSpecs();
        result = result * 59 + ($proSpecs == null ? 43 : $proSpecs.hashCode());
        TableColumn<GetAllotDetailOutData, String> $proRegisterNo = this.getProRegisterNo();
        result = result * 59 + ($proRegisterNo == null ? 43 : $proRegisterNo.hashCode());
        ComboBox<KeyValue> $fromStore = this.getFromStore();
        result = result * 59 + ($fromStore == null ? 43 : $fromStore.hashCode());
        TextField $toStore = this.getToStore();
        result = result * 59 + ($toStore == null ? 43 : $toStore.hashCode());
        TextField $toStoreText = this.getToStoreText();
        result = result * 59 + ($toStoreText == null ? 43 : $toStoreText.hashCode());
        TextField $fromStoreText = this.getFromStoreText();
        result = result * 59 + ($fromStoreText == null ? 43 : $fromStoreText.hashCode());
        Button $addBtn = this.getAddBtn();
        result = result * 59 + ($addBtn == null ? 43 : $addBtn.hashCode());
        Button $save = this.getSave();
        result = result * 59 + ($save == null ? 43 : $save.hashCode());
        Button $print = this.getPrint();
        result = result * 59 + ($print == null ? 43 : $print.hashCode());
        Button $approve1 = this.getApprove1();
        result = result * 59 + ($approve1 == null ? 43 : $approve1.hashCode());
        Button $approve2 = this.getApprove2();
        result = result * 59 + ($approve2 == null ? 43 : $approve2.hashCode());
        Button $approve3 = this.getApprove3();
        result = result * 59 + ($approve3 == null ? 43 : $approve3.hashCode());
        Button $exportIn = this.getExportIn();
        result = result * 59 + ($exportIn == null ? 43 : $exportIn.hashCode());
        Button $exportOut = this.getExportOut();
        result = result * 59 + ($exportOut == null ? 43 : $exportOut.hashCode());
        AnchorPane $pane = this.getPane();
        result = result * 59 + ($pane == null ? 43 : $pane.hashCode());
        AllotController $allotController = this.getAllotController();
        result = result * 59 + ($allotController == null ? 43 : ($allotController).hashCode());
        TipTopController $tipTopController = this.getTipTopController();
        result = result * 59 + ($tipTopController == null ? 43 : ($tipTopController).hashCode());
        ClearProductQueryController $clearProductQueryController = this.getClearProductQueryController();
        result = result * 59 + ($clearProductQueryController == null ? 43 : ($clearProductQueryController).hashCode());
        ObservableList<GetAllotDetailOutData> $observableTableList = this.getObservableTableList();
        result = result * 59 + ($observableTableList == null ? 43 : $observableTableList.hashCode());
        ObservableList<KeyValue> $storeOptions = this.getStoreOptions();
        result = result * 59 + ($storeOptions == null ? 43 : $storeOptions.hashCode());
        String $status = this.getStatus();
        result = result * 59 + ($status == null ? 43 : $status.hashCode());
        Timer $timer = this.getTimer();
        result = result * 59 + ($timer == null ? 43 : $timer.hashCode());
        return result;
    }

    public String toString() {
        return "AddAllotController(tableView=" + this.getTableView() + ", gsamdSerial=" + this.getGsamdSerial() + ", gsamdProId=" + this.getGsamdProId() + ", proName=" + this.getProName() + ", proPrice=" + this.getProPrice() + ", gsamdBatchNo=" + this.getGsamdBatchNo() + ", gsamdBatch=" + this.getGsamdBatch() + ", gsamdValidDate=" + this.getGsamdValidDate() + ", gsamdStockQty=" + this.getGsamdStockQty() + ", gsamdRecipientQty=" + this.getGsamdRecipientQty() + ", gsamdStockStatus=" + this.getGsamdStockStatus() + ", proFactoryName=" + this.getProFactoryName() + ", proPlace=" + this.getProPlace() + ", proForm=" + this.getProForm() + ", proUnit=" + this.getProUnit() + ", proSpecs=" + this.getProSpecs() + ", proRegisterNo=" + this.getProRegisterNo() + ", fromStore=" + this.getFromStore() + ", toStore=" + this.getToStore() + ", toStoreText=" + this.getToStoreText() + ", fromStoreText=" + this.getFromStoreText() + ", addBtn=" + this.getAddBtn() + ", save=" + this.getSave() + ", print=" + this.getPrint() + ", approve1=" + this.getApprove1() + ", approve2=" + this.getApprove2() + ", approve3=" + this.getApprove3() + ", exportIn=" + this.getExportIn() + ", exportOut=" + this.getExportOut() + ", pane=" + this.getPane() + ", allotController=" + this.getAllotController() + ", tipTopController=" + this.getTipTopController() + ", clearProductQueryController=" + this.getClearProductQueryController() + ", observableTableList=" + this.getObservableTableList() + ", storeOptions=" + this.getStoreOptions() + ", status=" + this.getStatus() + ", timer=" + this.getTimer() + ")";
    }
}

